x86/hvm: Move hvm_funcs.cpuid_intercept() handling into hvm_cpuid()
authorAndrew Cooper <andrew.cooper3@citrix.com>
Sun, 2 Oct 2016 16:28:11 +0000 (17:28 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 9 Dec 2016 18:32:21 +0000 (18:32 +0000)
commit0cb1fcb0855118a04612b957c3685c4f8b31219a
tree745aa59023fdd396e13e6c22f0904cb34a9c258f
parentcf0bd1cc3102e278de77399e8c9e49c15cc01d9c
x86/hvm: Move hvm_funcs.cpuid_intercept() handling into hvm_cpuid()

This reduces the net complexity of CPUID handling by having all adjustments in
the same place.  Remove the now-unused hvm_funcs.cpuid_intercept
infrastructure.

The SYSCALL feature hiding is tweaked when moved.  In principle, an
administrator can choose to explicitly hide the SYSCALL feature from the
guest, as it has a separate feature bit.  If this is the case, the feature
shouldn't be set behind the back of the administrators wishes.  (Not that many
64bit OSes would function in this scenario.)  In reality, SYSCALL will always
be set in edx at this point.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Acked-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/hvm/emulate.c
xen/arch/x86/hvm/hvm.c
xen/arch/x86/hvm/svm/svm.c
xen/arch/x86/hvm/vmx/vmx.c
xen/include/asm-x86/hvm/hvm.h